package com.ruoyi.common.core.domain.entity.socket.bean;

import com.ruoyi.common.constant.socket.DeviceTypeContant;
import lombok.Data;
import lombok.ToString;

import java.util.Date;

/**
 * 船只基本配置信息。
 */
@Data
@ToString(callSuper = true)
public class BoatBasicConfigInfo extends BaseDataPiece {
    /**
     * 配置读操作。0：无操作，1：配置读，3：无效值
     */
    private byte readFlag;

    /**
     * 配置报文应答。0：无操作，1：报文应答，2：报文未应答，3：无效值
     */
    private byte responseFlag;

    /**
     * 船只出厂id。
     */
    private String boatIdentityId;

    /**
     * 出厂日期。
     */
    private Date produceDate;
    /**
     * 电机编号1。
     */
    private String motorCode1;
    /**
     * 电机编号2。
     */
    private String motorCode2;
    /**
     * 电池编号。
     */
    private String batteryCode;
    /**
     * 船编号。示例：A01
     */
    private String boatCode;
    /**
     * 船端录像机编码(萤石云录像机专用)
     */
    private String recorderCode;


    @Override
    public int getDataPieceLength() {
//        return 114;
        return 130; //2023.11.6额外添加另一个电机编号(16个字节)
    }

    @Override
    public void setDeviceType() {
        deviceType = DeviceTypeContant.BoatBasicConfigInfo;
    }

    public BoatBasicConfigInfo() {
        this((byte) 0, (byte) 1);
    }

    public BoatBasicConfigInfo(byte systemCode, byte deviceCode) {
        super(systemCode, deviceCode);
    }
}
